import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;

class Permutation {
    public static void main(String[] args) {
        Permutation p = new Permutation();
        System.out.println(p.getPermutation(4, 9));
    }
    public String getPermutation(int n, int k) {
        ArrayList<Integer> arr = new ArrayList<Integer>();
        for (int i=0; i<n; i++) {
            arr.add(i+1);
        }
        HashSet set = new HashSet<Integer>();
        return getNext(arr, set, n, k);
 
    }
    public String getNext(ArrayList<Integer> arr, Set<Integer> set, int n, int k) {
        if (n == 0) return "";
        if (k==0) k =1;
        int index = k / getN(n-1);
        k = k % getN(n-1);
        if (k==0){
            index -= 1;
            k=getN(n-1);
        } 
        int cur = arr.remove(index);
        // int cur = getCur(arr, set, index);
        if (cur == -1) return "";
        // set.add(cur);

        return cur + "" + getNext(arr, set, n-1, k);

    }

    public int getCur(ArrayList<Integer> arr, Set<Integer> set, int index) {
        int j = -1;
        for (int i=0; i<arr.size(); i++) {
            if (!set.contains(arr.get(i))) {
                j++;
            }
            if (j == index) {
                return arr.get(i);
            }
        }
        return -1;
    }
    public int getN(int n) {
        if (n==0) return 1;
        int result = n;
        while (--n > 1) {
            result *= n;
        }
        return result;
    }
}
